package com.ylyq.ylxx.model.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * @ClassName CreateGroupInfoRequest
 * @Description TODO
 * @Author xiaweichao
 * @Date 2020/6/24 17:44
 * @Version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "创建广告组信息的请求参数")
public class CreateGroupInfoRequest {
    @ApiModelProperty(value = "广告主ID",required = true)
    @NotNull(message = "广告主ID不能为空")
    private Long advertiser_id;

    @ApiModelProperty(value = "广告组名称,长度为1-100个字符，其中1个中文字符算2位",required = true)
    @NotNull(message = "广告组名称不能为空")
    private String campaign_name;

    @ApiModelProperty(value = "广告组状态:允许值: \"enable\",\"disable\"默认值：enable开启状态")
    private String operation;

    @ApiModelProperty(value = "广告组预算类型:允许值:\n" +
            "\"BUDGET_MODE_INFINITE\",\"BUDGET_MODE_DAY\"",required = true)
    private String budget_mode;

    @ApiModelProperty(value = "广告组预算，取值范围: ≥ 0\n" +
            "当budget_mode为\"BUDGET_MODE_DAY\"时,必填,且日预算不少于1000元")
    private Double budget;


    @ApiModelProperty(value = "广告组推广目的, 详见【附录-推广目的类型】(创建后不可修改)\n" +
            "允许值:\n" +
            "\"LINK\",\"APP\",\"DPA\",\"GOODS\",\"STORE\",\"SHOP\",\"AWEME\"",required = true)
    private String landing_type;

    @ApiModelProperty(value = "第三方唯一键，传该值时保证接口重试的幂等性，请注意，带有相同unique_fk的请求服务端会视为同一个广告处理。仅在创建接口传入且无法修改，如果创建时传入了已存在的唯一键值，那么会返回该唯一键值所对应的广告组ID。该值可用于内部系统会生成的唯一ID与头条ID做关联的场景，避免超时重试实际上一次创建请求又成功导致的重复创建问题，通过unique_fk可与内部系统ID实现关联并避免重复创建，可结合实际场景选择使用，广告组中的unique_fk要求不重复，与计划中的unique_fk无相关。")
    private String unique_fk;

}
